RobotFramework 之 Setup和Teardown 您所在的位置:网站首页 robotframework ride RobotFramework 之 Setup和Teardown

RobotFramework 之 Setup和Teardown

#RobotFramework 之 Setup和Teardown| 来源: 网络整理| 查看: 265

RobotFramework 之 初始化与清除 在`testcase`中引入`setup`和`teardown`在`testsuit`中引入`setup`和`teardown`在测试套件文件中引入`setup`和`teardown`在测试套件目录中引入`setup`和`teardown`

setup是测试一个用例(套件)前要进行的前置操作 teardown是用例执行结束后的后置操作

在RF中,每个testsuit(测试套件目录和测试套件文件)、testcase(测试用例)都可以有自己的setup和teardown;所有的setup和teardown操作都只能用一个关键字语句构成

语法:

[Setup] + 关键字语句 [Teardown] + 关键字语句 在testcase中引入setup和teardown *** Test Cases *** 用例1 [Setup] log to console 用例初始化开始 [Teardown] log to console 用例结束清除操作 log to console 用例主体部分1 log to console 用例主体部分2 log to console 用例主体部分3 log to console 用例主体部分4 log to console 用例主体部分5 用例2 log to console 用例主体部分1 log to console 用例主体部分2 log to console 用例主体部分3 log to console 用例主体部分4 log to console 用例主体部分5

执行这个用例,从执行结果可以发现,在执行用例主体部分前,执行了setup里的内容,用例主体执行结束,执行了teardown里的内容

============================================================================== 用例1 用例初始化开始 .用例主体部分1 .用例主体部分2 .用例主体部分3 .用例主体部分4 .用例主体部分5 .用例结束清除操作 用例1 | PASS | ------------------------------------------------------------------------------ 用例2 用例主体部分1 .用例主体部分2 .用例主体部分3 .用例主体部分4 .用例主体部分5 用例2 | PASS | ------------------------------------------------------------------------------ Test11 | PASS | 2 tests, 2 passed, 0 failed

而没有引入setup和teardown的用例,则没有执行初始化和清除操作

在testsuit中引入setup和teardown

而在项目中,许多用例会用到相同的setup和teardown,比如都要用例执行之初用到打开浏览器进行登录操作,用例执行结束要关闭浏览器,总不能每个用例都行写上这两行代码吧,这样显得很累赘

所以,这时候就要用上套件级别的setup和teardown

而套件级别的setup和teardown的使用,有两种

Suit setup / teardown :进入和退出这个suit执行用例前后必须执行,且分别只执行一次Test setup / teardown:如果suit内的用例本身没有setup和teardown,才执行,且每个用例都执行一次

使用套件级别的setup和teardown,需要在Settings表中引入 语法:

*** Settings *** Suite Setup + 关键字语句 Suite Teardown + 关键字语句 Test Setup + 关键字语句 Test Teardown + 关键字语句 在测试套件文件中引入setup和teardown

测试套件文件,也就是robot文件,一个robot文件中可以有多个测试用例

*** Settings *** Suite Setup log to console Suite Setup级别用例初始化开始 Suite Teardown log to console Suite Teardown级别用例结束清除操作 Test Setup log to console Test Setup级别用例初始化开始 Test Teardown log to console Test Teardown级别用例结束清除操作 *** Test Cases *** 用例1 [Setup] log to console 用例初始化开始 [Teardown] log to console 用例结束清除操作 log to console 用例主体部分1 log to console 用例主体部分2 用例2 log to console 用例主体部分1 log to console 用例主体部分2 用例3 log to console 用例主体部分1 log to console 用例主体部分2

执行这个robot文件,可以发现 每一个测试用例,都执行了Suite Setup / Teardown级别的初始化和清除操作,且不影响原来用例中有的用例级别的Setup / Teardown初始化和清除操作 但由于用例1中有了用例级别的Setup / Teardown初始化和清除操作,所以Test Setup / Teardown级别的初始化和清除操作针对用例1没有执行,而用例2和用例3,每个都执行了一遍

Test1 ============================================================================== Suite Setup级别用例初始化开始 用例1 用例初始化开始 .用例主体部分1 .用例主体部分2 .用例结束清除操作 用例1 | PASS | ------------------------------------------------------------------------------ 用例2 Test Setup级别用例初始化开始 .用例主体部分1 .用例主体部分2 .Test Teardown级别用例结束清除操作 用例2 | PASS | ------------------------------------------------------------------------------ 用例3 Test Setup级别用例初始化开始 .用例主体部分1 .用例主体部分2 .Test Teardown级别用例结束清除操作 用例3 | PASS | ------------------------------------------------------------------------------ Suite Teardown级别用例结束清除操作 Test1 | PASS | 3 tests, 3 passed, 0 failed ============================================================================== 在测试套件目录中引入setup和teardown

新建一个 suite文件夹,下面新建两个robot文件 在这里插入图片描述

test1.robot

*** Test Cases *** 用例1 [Setup] log to console 用例初始化开始 [Teardown] log to console 用例结束清除操作 log to console 用例主体部分1 log to console 用例主体部分2 用例2 log to console 用例主体部分1 log to console 用例主体部分2

test2.robot

*** Test Cases *** 用例3 log to console 用例主体部分1 log to console 用例主体部分2 用例4 log to console 用例主体部分1 log to console 用例主体部分2

若要运行 suite目录下的所有测试用例,且都引入setup和teardown,则需要在 suite目录下新建一个 __init__.robot文件(注意命名,init前后都是两条杠),然后在该文件的Settings表中引入setup和teardown

*** Settings *** Suite Setup log to console Suite Setup级别用例初始化开始 Suite Teardown log to console Suite Teardown级别用例结束清除操作 Test Setup log to console Test Setup级别用例初始化开始 Test Teardown log to console Test Teardown级别用例结束清除操作

使用命令 robot suit,运行测试套件, 执行suite目录下的所有测试用例

============================================================================== Suite ============================================================================== Suite Setup级别用例初始化开始 Suite.Test1 ============================================================================== 用例1 用例初始化开始 .用例主体部分1 .用例主体部分2 .用例结束清除操作 用例1 | PASS | ------------------------------------------------------------------------------ 用例2 Test Setup级别用例初始化开始 .用例主体部分1 .用例主体部分2 .Test Teardown级别用例结束清除操作 用例2 | PASS | ------------------------------------------------------------------------------ Suite.Test1 | PASS | 2 tests, 2 passed, 0 failed ============================================================================== Suite.Test2 ============================================================================== 用例3 Test Setup级别用例初始化开始 .用例主体部分1 .用例主体部分2 .Test Teardown级别用例结束清除操作 用例3 | PASS | ------------------------------------------------------------------------------ 用例4 Test Setup级别用例初始化开始 .用例主体部分1 .用例主体部分2 .Test Teardown级别用例结束清除操作 用例4 | PASS | ------------------------------------------------------------------------------ Suite.Test2 | PASS | 2 tests, 2 passed, 0 failed ============================================================================== Suite Teardown级别用例结束清除操作 Suite | PASS | 4 tests, 4 passed, 0 failed ==============================================================================


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有